1. Technical Field
This disclosure generally relates to the database systems, and more specifically relates to tools for managing database systems.
2. Background Art
Database systems have been developed that allow a computer to store a large amount of information in a way that allows a user to search for and retrieve specific information in the database. For example, an insurance company may have a database that includes all of its policy holders and their current account information, including payment history, premium amount, policy number, policy type, exclusions to coverage, etc. A database system allows the insurance company to retrieve the account information for a single policy holder among the thousands and perhaps millions of policy holders in its database.
Retrieval of information from a database is typically done using queries. A query usually specifies conditions that apply to one or more columns of the database, and may specify relatively complex logical operations on multiple columns. The database is searched for records that satisfy the query, and those records that satisfy the query are returned as the query result. A popular query language is Structured Query Language (SQL), which has gained widespread acceptance in the database industry.
Debugging performance problems in a database system is often difficult. Database performance monitors have been developed that produce a linear time trace of events in a database system to help debug database problems. However, known database monitors collect so much information that the overhead of collecting the linear time trace of events can significantly affect database performance. As a result, database performance monitors are not turned on until after a problem has been detected. The problem with this approach is that many database problems can be transitory in nature, and attempting to recreate the conditions that lead to the database problem can be difficult or impossible. Without a way to debug database problems that have already occurred from information already gathered by the database system, the known methods of debugging database problems using performance monitors will continue to be a hindrance to effectively debugging database problems.